#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QMainWindow>
#include <qpainter.h>
#include "path.h"
#include "pair.hpp"
#include "vector.hpp"
#include "circuitboard.h"
#include <qmessagebox.h>

QT_BEGIN_NAMESPACE
namespace Ui { class MainWindow; }
QT_END_NAMESPACE

class MainWindow : public QMainWindow
{
    Q_OBJECT

public:
    MainWindow(QWidget *parent = nullptr);
    ~MainWindow();

    void paintEvent(QPaintEvent *) override;

private slots:
    void on_BfsButton_clicked();

    void on_DfsButton_clicked();

    void on_NextButton_clicked();

    void on_LastButton_clicked();

private:
    Ui::MainWindow *ui;

    int n, index;
    Pair<int, int> start, end;
    Path path;
    Vector<Path> paths;
    bool drawed;
};
#endif // MAINWINDOW_H
